package it.polimi.travelDreamEJB.personalizedpacketmanagement;

import java.util.List;

import it.polimi.travelDreamEJB.personalizedpacketmanagement.dto.PersonalizedPacketDTO;
import it.polimi.travelDreamEJB.personalizedpacketmanagement.dto.SearchPersonalizedPacketDTO;
import it.polimi.travelDreamEJB.usermanagement.dto.UserDTO;

import javax.ejb.Local;

@Local
public interface PersonalizedPacketMgr {

	public void save_personalized_packet(
			PersonalizedPacketDTO personalized_packet);

	public void update_personalized_packet(
			PersonalizedPacketDTO personalized_packet);

	public void delete_personalized_packet(
			PersonalizedPacketDTO personalized_packet);

	public PersonalizedPacketDTO getPersonalizedPacketDTO();
	
	public List<PersonalizedPacketDTO> findPersonalizedPacket(
			SearchPersonalizedPacketDTO searchPersonalizedPacket);
	public List<PersonalizedPacketDTO> findGuestPacket(
			SearchPersonalizedPacketDTO searchPersonalizedPacket);
	public List<PersonalizedPacketDTO> findBoughtPacket(
			SearchPersonalizedPacketDTO searchPersonalizedPacket);
	
	public void buyPacket(PersonalizedPacketDTO packet, UserDTO buyer);
	
	public void inviteAtPacket(PersonalizedPacketDTO packet, String email);

	public void save_and_buy_personalized_packet(
			PersonalizedPacketDTO personalizedPacket);
	
}
